A comprehensive development process for a business software architecture, such as for example an enterprise resource planning (ERP) system can be based on a concept of software layering. Multiple products or product versions having different lifecycles may be developed on the same application platform and basis technology. Layering may in some examples include one or more of a technology or development layer, which can be used by higher level components on a core component layer (e.g. a core software platform of an ERP system), and a networked application layer that includes software external to the core component layer that nonetheless relies upon the core component layer.